<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let str = 'it is cloudy day';
        
        //返回新字符串
        //1.全改为大写
        let upStr = str.toUpperCase();
        console.log(upStr);
        //2.全改为小写
        let lowStr = str.toLowerCase();
        console.log(lowStr)
        //3.修改指定字符大小写
        console.log(str[0].toUpperCase())//I
        console.log(str);

        //查找子字符串
        //indexOf search lastIndexOf

        // 存在返回索引，不存在返回-1
        console.log(str.indexOf('cloudy')); //6
        console.log(str.lastIndexOf('d')); //13
        console.log(str.indexOf('z')); //-1

        //传入第二个参数，表示从哪开始查找
        console.log(str.indexOf('c',7)); //-1
        console.clear();
        //search也一样 不过可以使用正则


        //从字符串中提取子字符串
        //slice、substring、substr
        let str2 = str.slice(0,7); //参数（从哪儿开始，到哪儿结束（若不写则一直到最后））
        console.log(str2)  //不包含第七个，即提取前6个
        //第二个参数也可以写负值,截取到倒数第几个数
        console.log(str.slice(6,-4));
        //substring 第一个参数为开始截取的索引，第二个参数为结束的索引（若不传递第二个参数，则于slice同）
        console.log(str.substring(6,9));

        //substr 第一个参数从哪儿开始，第二个参数为截取多少个
        console.log(str.substr(6,6)); //从第6个开始，截取6个

        // replace方法
        console.log(str.replace('cloudy','sunny')); //不改变原字符串
        console.log(str);

        //concat方法 - 拼接字符串
        let str3 = 'hello';
        console.log(str3.concat(' ',str)); //不改变原字符串
        console.log(str);

        //trim方法 - 删除字符串前面以及后面的空格
         let str4 = '   hello world   ';
         console.log(str4)
        console.log(str4.trim());
        //trimStart - 删除字符串前面的空格  trimLeft同
        console.log(str4.trimStart());
        //trimEnd - 传出字符串后面的空格  trimRight同
        console.log(str4.trimEnd());  
        
 
    </script>
</body>
</html>